package com.xzzz.common.base.config;

import java.util.ArrayList;
import java.util.List;

public class SmartDocConstants {

    public static final List<String> sourceCodePath = new ArrayList<String>() {{
        this.add("common/common-base");
        this.add("expand-sentinel/expand-sentinel-metric");
        this.add("irda-guardcat");
        this.add("irda-registry");
        this.add("irda-tracker");
    }};

    public static final String apiUriVersion = "1.访问地址";


    public static final String authHowToUseVersion = "2.Token使用";
    public static final String authHowToUseRemarks =
            "使用 /login 接口登录后, 将会返回 Token 信息。" +
            "\n遵循标准 Bearer 使用规范, 需将 Token 传入请求头 \"Authorization\" 字段中, 并在前拼接 \"Bearer \"。" +
            "\n例如：\"Authorization\" : \"Bearer ad047609fcde4ebbb358a6a4b0f38f43\"" +
            "\n可参阅：https://learning.postman.com/docs/sending-requests/authorization/#bearer-token。";


    public static final String standardsVersion = "3.接口规范";
    public static final String standardsRemarks =
            "为了提高沟通效率, 降低思考成本, API一律符合如下规范, 不符合必为后端错误, 请联系后端人员修改." +
            "\n1. 接口统一返回 Http 响应码 200, 业务响应码 [20000] 为正常, 业务响应码 [AUTH-40101] 为未授权。" +
            "\n2. 接口只包含 Get,Post 请求, Get 请求为查询, Post 请求为增删改。" +
            "\n3. 文档是使用 [OP] 标签的接口为开放接口, 该接口可以在未授权的情况下调用。" +
            "\n4. 基础的[增删改查]API路径为：" +
            "\n  a. /list : 列表, 不是所有业务都有该接口, 通常是确保业务没有大量数据, 如菜单列表" +
            "\n  b. /page : 分页列表" +
            "\n  c. /info : 详情, 绝大部分详情只能通过业务ID查询" +
            "\n  d. /save : 新增修改接口合并, 会根据是否传入对应业务ID来判断, 适用于新增修改字段基本相同的业务" +
            "\n  f. /add  : 新增, 传入ID无效" +
            "\n  g. /upd  : 修改, 需要传入ID" +
            "\n  h. /del  : 删除" +
            "\n  i. 其他业务请求, 如[签到、提交、审批、统计]等具有其他业务逻辑的接口请参照具体API";


    public static final String docHelpVersion = "4.文档说明";
    public static final String docHelpRemarks =
            "本接口文档的使用事项" +
            "\n1. [OP] : 接口名称中包含[OP] 即说明该接口为开放接口, 可以在非登录情况下调用。" +
            "\n2. [TBC]: 接口名称中包含[TBC]即说明该接口具体业务需求尚不明确, 需要进一步等待确认。";


    public static final String invokeHelpVersion = "5.联调帮助";
    public static final String invokeHelpRemarks =
            "开发测试环境中, 所有接口都会返回如下字段帮助提升联调效率" +
            "\n1. traceId: 分布式项目中常见的链路追踪功能, 如果接口报错, 前端提供该字段可以帮助后端快速定位异常和日志。" +
            "\n2. userMetadata : 当前请求用户的信息" +
            "\n3. api          : 请求的API";

}
